aboutsummaryrefslogtreecommitdiffstats
path: root/code/app/src/routes/(main)/(public)/reset-password/[id]
diff options
context:
space:
mode:
Diffstat (limited to 'code/app/src/routes/(main)/(public)/reset-password/[id]')
-rw-r--r--code/app/src/routes/(main)/(public)/reset-password/[id]/+page.svelte30
1 files changed, 13 insertions, 17 deletions
diff --git a/code/app/src/routes/(main)/(public)/reset-password/[id]/+page.svelte b/code/app/src/routes/(main)/(public)/reset-password/[id]/+page.svelte
index 3710290..2026764 100644
--- a/code/app/src/routes/(main)/(public)/reset-password/[id]/+page.svelte
+++ b/code/app/src/routes/(main)/(public)/reset-password/[id]/+page.svelte
@@ -1,26 +1,22 @@
<script lang="ts">
- import { check_forgot_password_request, fulfill_forgot_password_request } from "$lib/api/account";
import { onMount } from "svelte";
import LL from "$lib/i18n/i18n-svelte";
import { Alert, Input, Button } from "$lib/components";
import type { PageServerData } from "./$types";
- import type { ErrorResult } from "$lib/models/internal/ErrorResult";
import { goto } from "$app/navigation";
- import { Message, messageQueryKey } from "$routes/(main)/(public)/sign-in";
+ import { SignInPageMessage, signInPageMessageQueryKey } from "$routes/(main)/(public)/sign-in";
+ import { PasswordResetService } from "$lib/services/password-reset-service";
export let data: PageServerData;
-
+ const service = new PasswordResetService();
const formData = {
- newPassword: "",
+ newPassword: {
+ value: "",
+ errors: [],
+ },
};
- const errorData = {
- text: "",
- title: "",
- } as ErrorResult;
-
let errorState: undefined | "expired" | "404" | "unknown";
-
let finishedPreliminaryLoading = false;
let loading = false;
let canSubmit = true;
@@ -28,18 +24,18 @@
async function submitFormAsync() {
if (!canSubmit) return;
loading = true;
- const request = await fulfill_forgot_password_request(data.resetRequestId, formData.newPassword);
- if (request.ok) {
- goto("/sign-in?" + messageQueryKey + "=" + Message.AFTER_PASSWORD_RESET);
+ const request = await service.fulfill_request_async(data.resetRequestId, formData.newPassword.value);
+ if (request.isFulfilled) {
+ goto("/sign-in?" + signInPageMessageQueryKey + "=" + SignInPageMessage.AFTER_PASSWORD_RESET);
+ } else if (request.knownProblem) {
}
-
loading = false;
}
onMount(async () => {
errorState = undefined;
- const isValidRequest = await check_forgot_password_request(data.resetRequestId);
- if (!isValidRequest.ok && isValidRequest.status !== 404) {
+ const isValidRequest = await service.request_is_valid_async(data.resetRequestId);
+ if (!isValidRequest.isValid) {
errorState = "unknown";
canSubmit = false;
}